//
//  Person.h
//  FRP_OC
//
//  Created by DeLong Yang on 2017/8/7.
//  Copyright © 2017年 DeLongYang. All rights reserved.
/*
 在开发中我们也不能太依赖于某个框架，否则这个框架不更新了，导致项目后期没办法维护，比如之前Facebook提供的Three20框架，在当时也是神器，但是后来不更新了，也就没什么人用了。因此我感觉学习一个框架，还是有必要了解它的编程思想。
 
 先简单介绍下目前咱们已知的编程思想。
 
 3.1 面向过程：处理事情以过程为核心，一步一步的实现。
 
 3.2 面向对象：万物皆对象
 
 3.3 链式编程思想：是将多个操作（多行代码）通过点号(.)链接在一起成为一句代码,使代码可读性好。a(1).b(2).c(3)
 
 链式编程特点：方法的返回值是block,block必须有返回值（本身对象），block参数（需要操作的值）
 
 代表：masonry框架。
 
 模仿masonry，写一个加法计算器，练习链式编程思想。
 
 作者：袁峥
 链接：http://www.jianshu.com/p/87ef6720a096
 來源：简书
 著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
 */

#import <Foundation/Foundation.h>

@interface Person : NSObject

//
- (void)eat1;

- (void)sleep1;

//
- (Person *)eat2;

- (Person *)sleep2;

//
- (void (^)())eat3;

- (void (^)())sleep3;

// no parameters
- (Person * (^)())eat4;
- (Person * (^)())sleep4;

// with parameters
- (Person * (^)(NSString *foodName))eat5;
- (Person * (^)(NSInteger hour))sleep5;




@end
